
kernel/console.o：     文件格式 elf32-i386
kernel/console.o
体系结构：i386， 标志 0x00000011：
HAS_RELOC, HAS_SYMS
起始地址 0x00000000

节：
Idx Name          Size      VMA       LMA       File off  Algn
  0 .group        00000008  00000000  00000000  00000034  2**2
                  CONTENTS, READONLY, GROUP, LINK_ONCE_DISCARD
  1 .group        00000008  00000000  00000000  0000003c  2**2
                  CONTENTS, READONLY, GROUP, LINK_ONCE_DISCARD
  2 .text         000000f5  00000000  00000000  00000044  2**0
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
  3 .data         00000008  00000000  00000000  0000013c  2**2
                  CONTENTS, ALLOC, LOAD, DATA
  4 .bss          00000004  00000000  00000000  00000144  2**2
                  ALLOC
  5 .text.__x86.get_pc_thunk.dx 00000004  00000000  00000000  00000144  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  6 .text.__x86.get_pc_thunk.cx 00000004  00000000  00000000  00000148  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  7 .comment      00000025  00000000  00000000  0000014c  2**0
                  CONTENTS, READONLY
  8 .note.GNU-stack 00000000  00000000  00000000  00000171  2**0
                  CONTENTS, READONLY
  9 .note.gnu.property 0000001c  00000000  00000000  00000174  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 10 .eh_frame     00000080  00000000  00000000  00000190  2**2
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
SYMBOL TABLE:
00000000 l    df *ABS*	00000000 console.c
00000000 l    d  .text	00000000 .text
00000000 l    d  .data	00000000 .data
00000000 l    d  .bss	00000000 .bss
00000000 l     O .bss	00000004 pos
00000000 l    d  .text.__x86.get_pc_thunk.dx	00000000 .text.__x86.get_pc_thunk.dx
00000000 l    d  .text.__x86.get_pc_thunk.cx	00000000 .text.__x86.get_pc_thunk.cx
00000000 l    d  .note.GNU-stack	00000000 .note.GNU-stack
00000000 l    d  .note.gnu.property	00000000 .note.gnu.property
00000000 l    d  .eh_frame	00000000 .eh_frame
00000000 l    d  .comment	00000000 .comment
00000000 l    d  .group	00000000 .group
00000000 l    d  .group	00000000 .group
00000000 g     F .text	000000b1 con_write
00000000 g     F .text.__x86.get_pc_thunk.cx	00000000 .hidden __x86.get_pc_thunk.cx
00000000         *UND*	00000000 _GLOBAL_OFFSET_TABLE_
000000b1 g     F .text	00000044 con_init
00000000 g     F .text.__x86.get_pc_thunk.dx	00000000 .hidden __x86.get_pc_thunk.dx
00000000 g     O .data	00000004 columns
00000004 g     O .data	00000004 lines


Contents of section .group:
 0000 01000000 07000000                    ........        
Contents of section .group:
 0000 01000000 08000000                    ........        
Contents of section .text:
 0000 f30f1efb 5653e8fc ffffff81 c1020000  ....VS..........
 0010 008b5424 0c8b8244 0400002b 82480400  ..T$...D...+.H..
 0020 0025ff03 00008d70 ff74388b 82480400  .%.....p.t8..H..
 0030 000fb69c 02500400 0083c001 25ff0300  .....P......%...
 0040 00898248 0400008b 81000000 00b70766  ...H...........f
 0050 891883c0 02898100 00000083 ee0183fe  ................
 0060 ff75c8fa bed40300 00b80e00 000089f2  .u..............
 0070 eeeb00eb 008b8900 00000081 e900800b  ................
 0080 0089c8c1 e8090fb6 c0bbd503 000089da  ................
 0090 eeeb00eb 00b80f00 000089f2 eeeb00eb  ................
 00a0 00d1e90f b6c189da eeeb00eb 00fb5b5e  ..............[^
 00b0 c3f30f1e fb53e8fc ffffff81 c2020000  .....S..........
 00c0 000fb60d fe010900 8b9a0000 000039d9  ..............9.
 00d0 73210fb6 05ff0109 003b8200 00000073  s!.......;.....s
 00e0 120fafc3 01c88d84 0000800b 00898200  ................
 00f0 0000005b c3                          ...[.           
Contents of section .data:
 0000 50000000 19000000                    P.......        
Contents of section .text.__x86.get_pc_thunk.dx:
 0000 8b1424c3                             ..$.            
Contents of section .text.__x86.get_pc_thunk.cx:
 0000 8b0c24c3                             ..$.            
Contents of section .comment:
 0000 00474343 3a202855 62756e74 7520392e  .GCC: (Ubuntu 9.
 0010 332e302d 31307562 756e7475 32292039  3.0-10ubuntu2) 9
 0020 2e332e30 00                          .3.0.           
Contents of section .note.gnu.property:
 0000 04000000 0c000000 05000000 474e5500  ............GNU.
 0010 020000c0 04000000 03000000           ............    
Contents of section .eh_frame:
 0000 14000000 00000000 017a5200 017c0801  .........zR..|..
 0010 1b0c0404 88010000 20000000 1c000000  ........ .......
 0020 00000000 b1000000 00450e08 8602410e  .........E....A.
 0030 0c830302 a9c30e08 41c60e04 18000000  ........A.......
 0040 40000000 b1000000 44000000 00450e08  @.......D....E..
 0050 83027ec3 0e040000 10000000 5c000000  ..~.........\...
 0060 00000000 04000000 00000000 10000000  ................
 0070 70000000 00000000 04000000 00000000  p...............

Disassembly of section .text:

00000000 <con_write>:
   0:	f3 0f 1e fb          	endbr32 
   4:	56                   	push   %esi
   5:	53                   	push   %ebx
   6:	e8 fc ff ff ff       	call   7 <con_write+0x7>
			7: R_386_PC32	__x86.get_pc_thunk.cx
   b:	81 c1 02 00 00 00    	add    $0x2,%ecx
			d: R_386_GOTPC	_GLOBAL_OFFSET_TABLE_
  11:	8b 54 24 0c          	mov    0xc(%esp),%edx
  15:	8b 82 44 04 00 00    	mov    0x444(%edx),%eax
  1b:	2b 82 48 04 00 00    	sub    0x448(%edx),%eax
  21:	25 ff 03 00 00       	and    $0x3ff,%eax
  26:	8d 70 ff             	lea    -0x1(%eax),%esi
  29:	74 38                	je     63 <con_write+0x63>
  2b:	8b 82 48 04 00 00    	mov    0x448(%edx),%eax
  31:	0f b6 9c 02 50 04 00 	movzbl 0x450(%edx,%eax,1),%ebx
  38:	00 
  39:	83 c0 01             	add    $0x1,%eax
  3c:	25 ff 03 00 00       	and    $0x3ff,%eax
  41:	89 82 48 04 00 00    	mov    %eax,0x448(%edx)
  47:	8b 81 00 00 00 00    	mov    0x0(%ecx),%eax
			49: R_386_GOTOFF	.bss
  4d:	b7 07                	mov    $0x7,%bh
  4f:	66 89 18             	mov    %bx,(%eax)
  52:	83 c0 02             	add    $0x2,%eax
  55:	89 81 00 00 00 00    	mov    %eax,0x0(%ecx)
			57: R_386_GOTOFF	.bss
  5b:	83 ee 01             	sub    $0x1,%esi
  5e:	83 fe ff             	cmp    $0xffffffff,%esi
  61:	75 c8                	jne    2b <con_write+0x2b>
  63:	fa                   	cli    
  64:	be d4 03 00 00       	mov    $0x3d4,%esi
  69:	b8 0e 00 00 00       	mov    $0xe,%eax
  6e:	89 f2                	mov    %esi,%edx
  70:	ee                   	out    %al,(%dx)
  71:	eb 00                	jmp    73 <con_write+0x73>
  73:	eb 00                	jmp    75 <con_write+0x75>
  75:	8b 89 00 00 00 00    	mov    0x0(%ecx),%ecx
			77: R_386_GOTOFF	.bss
  7b:	81 e9 00 80 0b 00    	sub    $0xb8000,%ecx
  81:	89 c8                	mov    %ecx,%eax
  83:	c1 e8 09             	shr    $0x9,%eax
  86:	0f b6 c0             	movzbl %al,%eax
  89:	bb d5 03 00 00       	mov    $0x3d5,%ebx
  8e:	89 da                	mov    %ebx,%edx
  90:	ee                   	out    %al,(%dx)
  91:	eb 00                	jmp    93 <con_write+0x93>
  93:	eb 00                	jmp    95 <con_write+0x95>
  95:	b8 0f 00 00 00       	mov    $0xf,%eax
  9a:	89 f2                	mov    %esi,%edx
  9c:	ee                   	out    %al,(%dx)
  9d:	eb 00                	jmp    9f <con_write+0x9f>
  9f:	eb 00                	jmp    a1 <con_write+0xa1>
  a1:	d1 e9                	shr    %ecx
  a3:	0f b6 c1             	movzbl %cl,%eax
  a6:	89 da                	mov    %ebx,%edx
  a8:	ee                   	out    %al,(%dx)
  a9:	eb 00                	jmp    ab <con_write+0xab>
  ab:	eb 00                	jmp    ad <con_write+0xad>
  ad:	fb                   	sti    
  ae:	5b                   	pop    %ebx
  af:	5e                   	pop    %esi
  b0:	c3                   	ret    

000000b1 <con_init>:
  b1:	f3 0f 1e fb          	endbr32 
  b5:	53                   	push   %ebx
  b6:	e8 fc ff ff ff       	call   b7 <con_init+0x6>
			b7: R_386_PC32	__x86.get_pc_thunk.dx
  bb:	81 c2 02 00 00 00    	add    $0x2,%edx
			bd: R_386_GOTPC	_GLOBAL_OFFSET_TABLE_
  c1:	0f b6 0d fe 01 09 00 	movzbl 0x901fe,%ecx
  c8:	8b 9a 00 00 00 00    	mov    0x0(%edx),%ebx
			ca: R_386_GOTOFF	columns
  ce:	39 d9                	cmp    %ebx,%ecx
  d0:	73 21                	jae    f3 <con_init+0x42>
  d2:	0f b6 05 ff 01 09 00 	movzbl 0x901ff,%eax
  d9:	3b 82 00 00 00 00    	cmp    0x0(%edx),%eax
			db: R_386_GOTOFF	lines
  df:	73 12                	jae    f3 <con_init+0x42>
  e1:	0f af c3             	imul   %ebx,%eax
  e4:	01 c8                	add    %ecx,%eax
  e6:	8d 84 00 00 80 0b 00 	lea    0xb8000(%eax,%eax,1),%eax
  ed:	89 82 00 00 00 00    	mov    %eax,0x0(%edx)
			ef: R_386_GOTOFF	.bss
  f3:	5b                   	pop    %ebx
  f4:	c3                   	ret    

Disassembly of section .text.__x86.get_pc_thunk.dx:

00000000 <__x86.get_pc_thunk.dx>:
   0:	8b 14 24             	mov    (%esp),%edx
   3:	c3                   	ret    

Disassembly of section .text.__x86.get_pc_thunk.cx:

00000000 <__x86.get_pc_thunk.cx>:
   0:	8b 0c 24             	mov    (%esp),%ecx
   3:	c3                   	ret    
